package com.snail.billing.util;

import java.util.regex.Pattern;

import android.content.Context;

import com.android.util.AlertUtil;
import com.android.util.ResUtil;
import com.snail.billing.Resource;

public class AccountCaptcha {

	public static boolean validateAccount(Context context, final String accountString) {
		if (accountString.length() < 6 || accountString.length() > 25) {
			// 通行证长度必须是6-25个字符之间，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate1));
			return false;
		}
		if (!Pattern.compile("^[a-zA-Z]$").matcher(accountString.substring(0, 1)).matches()) {
			// 必须以英文字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate2));
			return false;
		}
		if (accountString.startsWith("woniu")) {
			// 不能使用"woniu"字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate3));
			return false;
		}
		if (accountString.startsWith("snail")) {
			// 不能使用"snail"字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate4));
			return false;
		}
		if (accountString.startsWith("gm")) {
			// 不能使用"gm"字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate5));
			return false;
		}
		if (accountString.startsWith("d1xn")) {
			// 不能使用"d1xn"字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate6));
			return false;
		}
		if (accountString.startsWith("dyxn")) {
			// 不能使用"dyxn"字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate7));
			return false;
		}
		if (accountString.startsWith("wn") || accountString.startsWith("WN")) {
			// 不能使用"wn"字母开头为通行证，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_account_validate8));
			return false;
		}
		return true;
	}

	public static boolean validatePwd(Context context, final String accountString, final String pwdString, final String pwdString2) {
		if (pwdString.length() < 6 || pwdString.length() > 20) {
			// 密码长度必须是6-20个字符之间，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_pwd_validate1));
			return false;
		}
		if (!Pattern.compile("^[a-zA-Z0-9]+$").matcher(pwdString).matches()) {
			// 只能使用英文字母和数字作为密码，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_pwd_validate2));
			return false;
		}
		if (BillingStringUtil.isSame(pwdString) || BillingStringUtil.isAscOrDesc(pwdString, 1) || BillingStringUtil.isAscOrDesc(pwdString, -1)) {
			// 您的密码设置过于简单，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_pwd_validate3));
			return false;
		}
		if (accountString.equals(pwdString)) {
			// 通行证与密码不能一致，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_pwd_validate4));
			return false;
		}
		if (!pwdString.equals(pwdString2)) {
			// 两次输入密码不一致，请重新输入。
			AlertUtil.show(context, ResUtil.getString(Resource.string.snailbilling_pwd_validate5));
			return false;
		}
		return true;
	}
}
